package beans;

import java.sql.SQLException;
import DAO.UsuarioDAO;

public class Usuario {
	
//----ATRIBUTOS---------------------------------------------------------------------------------------------------------//
	int cdUsuario;
	String usuarioNome = new String();
	String usuarioEmail = new String();
	String usuarioTelefone = new String();
	int admFlag;
	String usuarioLogin = new String();
	String usuarioSenha = new String();;
	String usuarioRua = new String();
	String usuarioNum = new String();
	String usuarioBairro = new String();
	String usuarioCidade = new String();
	String usuarioEstado = new String();
	
//----METODOS-----------------------------------------------------------------------------------------------------------//
	//METODOS - GETs e SETs
	public int getCdUsuario() {
		return cdUsuario;
	}
	public void setCdUsuario(int cdUsuario) {
		this.cdUsuario = cdUsuario;
	}
	public String getUsuarioNome() {
		return usuarioNome;
	}
	public void setUsuarioNome(String usuarioNome) {
		this.usuarioNome = usuarioNome;
	}
	public String getUsuarioEmail() {
		return usuarioEmail;
	}
	public void setUsuarioEmail(String usuarioEmail) {
		this.usuarioEmail = usuarioEmail;
	}
	public String getUsuarioTelefone() {
		return usuarioTelefone;
	}
	public void setUsuarioTelefone(String usuarioTelefone) {
		this.usuarioTelefone = usuarioTelefone;
	}
	public int getAdmFlag() {
		return admFlag;
	}
	public void setAdmFlag(int admFlag) {
		this.admFlag = admFlag;
	}
	public String getUsuarioLogin() {
		return usuarioLogin;
	}
	public void setUsuarioLogin(String usuarioLogin) {
		this.usuarioLogin = usuarioLogin;
	}
	public String getUsuarioSenha() {
		return usuarioSenha;
	}
	public void setUsuarioSenha(String usuarioSenha) {
		this.usuarioSenha = usuarioSenha;
	}
	public String getUsuarioRua() {
		return usuarioRua;
	}
	public void setUsuarioRua(String usuarioRua) {
		this.usuarioRua = usuarioRua;
	}
	public String getUsuarioNum() {
		return usuarioNum;
	}
	public void setUsuarioNum(String usuarioNum) {
		this.usuarioNum = usuarioNum;
	}
	public String getUsuarioBairro() {
		return usuarioBairro;
	}
	public void setUsuarioBairro(String usuarioBairro) {
		this.usuarioBairro = usuarioBairro;
	}
	public String getUsuarioCidade() {
		return usuarioCidade;
	}
	public void setUsuarioCidade(String usuarioCidade) {
		this.usuarioCidade = usuarioCidade;
	}
	public String getUsuarioEstado() {
		return usuarioEstado;
	}
	public void setUsuarioEstado(String usuarioEstado) {
		this.usuarioEstado = usuarioEstado;
	}
	
	//CADASTRAR USUARIO
	public void cadastrarUsuario(){
		UsuarioDAO.getUsuarioDAO().inserirUsuario(this.usuarioNome,this.usuarioEmail,this.usuarioTelefone,this.admFlag,this.usuarioLogin,
												this.usuarioSenha,this.usuarioRua,this.usuarioNum,this.usuarioBairro,this.usuarioCidade,
												this.usuarioEstado);
	}
	
	//DELETAR PERFIL
	public void excluirPerfil(){
		UsuarioDAO.getUsuarioDAO().deletarUsuario(this.cdUsuario);
	}
	
	//ATUALIZAR PERFIL
	public void atualizarPerfil(){
		UsuarioDAO.getUsuarioDAO().atualizarUsuario(this.usuarioNome, this.usuarioEmail, this.usuarioTelefone, this.admFlag, this.usuarioLogin,
													this.usuarioSenha, this.usuarioRua, this.usuarioNum, this.usuarioBairro, this.usuarioCidade,
													this.usuarioEstado, this.cdUsuario);
	}
	
	//LOGIN USUARIO
	public boolean loginUsuarios(){
		
		Usuario aux = new Usuario();
		
		try{
			aux = UsuarioDAO.getUsuarioDAO().buscarUsuario(this.usuarioLogin);
			if(aux!=null){
				this.cdUsuario = aux.getCdUsuario();
				this.usuarioNome = aux.getUsuarioNome();
				this.usuarioEmail = aux.getUsuarioEmail();
				this.usuarioTelefone = aux.getUsuarioTelefone();
				this.admFlag = aux.getAdmFlag();
				this.usuarioSenha = aux.getUsuarioSenha();
				this.usuarioRua = aux.getUsuarioRua();
				this.usuarioNum = aux.getUsuarioNum();
				this.usuarioBairro = aux.getUsuarioBairro();
				this.usuarioCidade = aux.getUsuarioCidade();
				this.usuarioEstado = aux.getUsuarioEstado();
				return true;
			}
			else{
				//LOGIN INCORRETO
				return false;
			}
			
		}catch(SQLException e) {
	         throw new RuntimeException(e);
		}
	}

//VERIFICA SE O LOGIN DO USUARIO JA EXISTE
	public boolean verificaLogin() throws SQLException{
		if(UsuarioDAO.getUsuarioDAO().verificaLoginUsuario(this.usuarioLogin) == true){
			return true;
		}
		else{
			return false;
		}
	}
}
